home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_d / aspell22.zip / SUGDLG32.PAS < prev   
Pascal/Delphi Source File  |  1996-03-27  |  4KB  |  148 lines

  1. unit Sugdlg32;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls;
  8.  
  9. type
  10.   TSugDialog = class(TForm)
  11.     NotWord: TEdit;
  12.     SuggestList: TListBox;
  13.     BtnChange: TButton;
  14.     BtnIgnore: TButton;
  15.     BtnAdd: TButton;
  16.     BtnSuggest: TButton;
  17.     BtnCancel: TButton;
  18.     WordEdit: TEdit;
  19.     Label1: TLabel;
  20.     Label2: TLabel;
  21.     BtnIgnoreAll: TButton;
  22.     BtnChangeAll: TButton;
  23.     BtnPhoneme: TButton;
  24.     procedure BtnSuggestClick(Sender: TObject);
  25.     procedure BtnPhonemeClick(Sender: TObject);
  26.     procedure BtnChangeClick(Sender: TObject);
  27.     procedure BtnIgnoreClick(Sender: TObject);
  28.     procedure BtnAddClick(Sender: TObject);
  29.     procedure BtnCancelClick(Sender: TObject);
  30.     procedure SuggestListClick(Sender: TObject);
  31.     procedure SuggestListDblClick(Sender: TObject);
  32.     procedure BtnIgnoreAllClick(Sender: TObject);
  33.     procedure BtnChangeAllClick(Sender: TObject);
  34.     procedure WordEditKeyPress(Sender: TObject; var Key: Char);
  35.   private
  36.     { Private declarations }
  37.   public
  38.     { Public declarations }
  39.     DictDataPtr : pointer;    { Pointer to internal dictionary data }
  40.     MaxSuggest : byte;        { Maximum number of suggestions }
  41.     TheResult  : byte;        { Result of button press }
  42.     procedure DisableButtons; { Disable all but the Cancel button }
  43.     procedure EnableButtons;  { Enable all buttons/edits/Listboxs }
  44.   end;
  45.  
  46. var
  47.   SugDialog: TSugDialog;
  48.  
  49. implementation
  50.  
  51. {$R *.DFM}
  52.  
  53. uses BsASpl32;
  54.  
  55. procedure TSugDialog.DisableButtons;
  56. { Disable all but the Cancel button }
  57. begin
  58.   BtnIgnore.Enabled := false;
  59.   BtnIgnoreAll.Enabled := false;
  60.   BtnChange.Enabled := false;
  61.   BtnChangeAll.Enabled := false;
  62.   BtnAdd.Enabled := false;
  63.   BtnSuggest.Enabled := false;
  64.   BtnPhoneme.Enabled := false;
  65.   NotWord.Enabled := false;
  66.   WordEdit.Enabled := false;
  67.   SuggestList.Enabled := false;
  68. end;
  69.  
  70. procedure TSugDialog.EnableButtons;
  71. { Enable all buttons/edits/Listboxs }
  72. begin
  73.   BtnIgnore.Enabled := true;
  74.   BtnIgnoreAll.Enabled := true;
  75.   BtnChange.Enabled := true;
  76.   BtnChangeAll.Enabled := true;
  77.   BtnAdd.Enabled := true;
  78.   BtnSuggest.Enabled := true;
  79.   BtnPhoneme.Enabled := true;
  80.   NotWord.Enabled := true;
  81.   WordEdit.Enabled := true;
  82.   SuggestList.Enabled := true;
  83. end;
  84.  
  85. procedure TSugDialog.BtnSuggestClick(Sender: TObject);
  86. begin
  87.   { Build a new list of suggestions using the CloseMatch routine }
  88.   SuggestList.Items := BsASpl32.SuggestCloseMatch(DictDataPtr, WordEdit.Text, MaxSuggest);
  89. end;
  90.  
  91. procedure TSugDialog.BtnPhonemeClick(Sender: TObject);
  92. begin
  93.   { Build a new list of suggestions using the Phoneme routine }
  94.   SuggestList.Items := BsASpl32.SuggestPhoneme(DictDataPtr, WordEdit.Text, MaxSuggest);
  95. end;
  96.  
  97.  
  98. procedure TSugDialog.BtnChangeClick(Sender: TObject);
  99. begin
  100.   TheResult := 101;  { Close dialog and return value }
  101. end;
  102.  
  103. procedure TSugDialog.BtnIgnoreClick(Sender: TObject);
  104. begin
  105.   TheResult := 103;  { Close dialog and return value }
  106. end;
  107.  
  108. procedure TSugDialog.BtnAddClick(Sender: TObject);
  109. begin
  110.   TheResult := 102;  { Close dialog and return value }
  111. end;
  112.  
  113. procedure TSugDialog.BtnCancelClick(Sender: TObject);
  114. begin
  115.   TheResult := 100;   { Close dialog and return value }
  116. end;
  117.  
  118. procedure TSugDialog.SuggestListClick(Sender: TObject);
  119. begin
  120.   { Make the word clicked in the listbox the selected word }
  121.   WordEdit.Text := SuggestList.Items.Strings[SuggestList.ItemIndex];
  122. end;
  123.  
  124. procedure TSugDialog.SuggestListDblClick(Sender: TObject);
  125. begin
  126.   { Get the double clicked word }
  127.   WordEdit.Text := SuggestList.Items.Strings[SuggestList.ItemIndex];
  128.   TheResult := 101;   { Close dialog and return Replace's code }
  129. end;
  130.  
  131. procedure TSugDialog.BtnIgnoreAllClick(Sender: TObject);
  132. begin
  133.   TheResult := 104;  { Close dialog and return value }
  134. end;
  135.  
  136. procedure TSugDialog.BtnChangeAllClick(Sender: TObject);
  137. begin
  138.   TheResult := 105;  { Close dialog and return value }
  139. end;
  140.  
  141. procedure TSugDialog.WordEditKeyPress(Sender: TObject; var Key: Char);
  142. begin
  143.   if key = #13 then
  144.     TheResult := 101;  { Treat ENTER in WordEdit as pressing the Change button }
  145. end;
  146.  
  147. end.
  148.